<?php

use App\Models\Product;
use App\Models\Category;
use Faker\Generator as Faker;

$factory->define(Product::class, function (Faker $faker) {
    // 从数据库中随机取一个类目
    $category = Category::query()->where('is_directory',false)->inRandomOrder()->first();
    $images = [
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/7kG1HekGK6.jpg",
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/1B3n0ATKrn.jpg",
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/r3BNRe4zXG.jpg",
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/C0bVuKB2nt.jpg",
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/82Wf2sg8gM.jpg",
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/nIvBAQO5Pj.jpg",
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/XrtIwzrxj7.jpg",
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/uYEHCJ1oRp.jpg",
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/2JMRaFwRpo.jpg",
        "https://lccdn.phphub.org/uploads/images/201806/01/5320/pa7DrV43Mw.jpg",
    ];
    return [
        'title'             => $faker->word,
        'description'       => $faker->sentence,
        'image'             => $faker->randomElement($images),
        'on_sale'           => true,
        'rating'            => $faker->numberBetween(0,5),
        'sold_count'        => 0,
        'review_count'      => 0,
        'price'             => 0,
        // 将取出的类目ID 赋给category_id 字段
        // 如果数据库中没有类目则 $category 为null,同样category_id 也设成 null
        'category_id'       => $category ? $category->id : null,
    ];
});
